#ifndef CONFIG_H
#define CONFIG_H

#define PCB_A1                        1
#define PCB_A2                        2
#define PCB_A3                        3

#define  USE_UP
#define _SCANNER_USES_UART1

// 电机移动时起始阶段的速度, x0.01 rad/sec
#define FIRST_STAGE_SPEED           2000

// 电机移动时结束阶段的速度, x0.01 rad/sec
#define SECOND_STAGE_SPEED          1000

// 电机移动时起始阶段的距离, mm
#define FIRST_STAGE_DISTANCE        10

// 电机移动时第二阶段的距离, mm
#define SECOND_STAGE_DISTANCE       100

// S电机转一圈的距离, mm
#define S1_PERIMETER                     (15 * 2.032)
// S电机目标距离, mm
#define S1_LIMIT_TARGET_DISTANCE          20.0
// S电机缓冲距离, mm
#define S1_LIMIT_BUFFER_DISTANCE          1.0

#ifdef USE_UP
// S电机缓冲距离, mm
#define S1_RESET_BUFFER_DISTANCE          13.0
#else
// S电机缓冲距离, mm
#define S1_RESET_BUFFER_DISTANCE          14.0  // 下
#endif

// S电机目标位置后退距离, mm
#define S1_LIMIT_BACK_DISTANCE            4.0

// 电磁阀锁定位置，离开复位位置时，由释放状态变为锁定状态的位置,mm
#define V1_LOCK_DISTANCE            20.0
// 电磁阀释放位置，向复位位置时，由锁定状态变为释放状态的位置, mm
#define V1_RELEASE_DISTANCE         10.0
// S电机停止减速缓冲距离, mm
#define S1_STOP_BUFFER_DISTANCE          2.0

// S电机转一圈的距离, mm
#define S2_PERIMETER                     (15 * 2.032)
// S电机缓冲距离, mm
#define S2_LIMIT_BUFFER_DISTANCE          2.0
#ifdef USE_UP
// S电机缓冲距离, mm
#define S2_RESET_BUFFER_DISTANCE          12.0
#else
#define S2_RESET_BUFFER_DISTANCE          12.0
#endif
// S电机停止减速缓冲距离, mm
#define S2_STOP_BUFFER_DISTANCE          1.0

// S电机转一圈的距离, mm
#define S3_PERIMETER                     (15 * 2.032)
// S电机缓冲距离, mm
#define S3_LIMIT_BUFFER_DISTANCE          2.0
#ifdef USE_UP
// S电机缓冲距离, mm
#define S3_RESET_BUFFER_DISTANCE          11.0
#else
#define S3_RESET_BUFFER_DISTANCE          20.0
#endif
// S电机停止减速缓冲距离, mm
#define S3_STOP_BUFFER_DISTANCE          3.0

// S电机转一圈的距离, mm
#define S4_PERIMETER                     (12.8)
// S电机缓冲距离, mm
#define S4_RESET_BUFFER_DISTANCE          (32)
// S电机缓冲距离, mm

#if PCB_VERSION == PCB_A1
#define S4_LIMIT_BUFFER_DISTANCE          20.0
#elif (PCB_VERSION == PCB_A2)
#define S4_LIMIT_BUFFER_DISTANCE          10.0
#endif

// S电机停止减速缓冲距离, mm
#define S4_STOP_BUFFER_DISTANCE          1.0
// 电磁阀锁定位置，离开复位位置时，由释放状态变为锁定状态的位置,mm
#define V4_LOCK_DISTANCE            10.0
// 电磁阀释放位置，向复位位置时，由锁定状态变为释放状态的位置, mm
#define V4_RELEASE_DISTANCE         20.0

// V电机使用的细分
#define V_MISCRO                     16
// 使用看门狗
#define USE_WATCHDG                 0

#endif // CONFIG_H
